import axios from "axios"
import { Message,MessageBox } from "element-ui"
import store from "../store/index"
import { getToken } from "../utils/cookie"
//自封装axios 
const baseURL = process.env.VUE_APP_SERVICE_URL
const request = axios.create({
    baseURL: baseURL,
    timeout: 5000,
})
//设置cross跨域，并设置访问权限，允许跨域携带cookie信息，使用jwt可关闭
request.defaults.withCredentials = false;

//请求拦截器和响应拦截器(注意一定要返回)
request.interceptors.request.use(config=>{
    // 发请求前做的一些处理，数据转化，配置请求头，设置token,设置loading等，根据需求去添加
    // 注意使用token的时候需要引入cookie方法或者用本地localStorage等方法，推荐js-cookie
    if(store.getters.token){
        config.headers.common['token'] = getToken(); 
    }
    return config;
},error=>{
    return Promise.reject(error);
})
// request.interceptors.response.use(response=>{
    //响应不正常，出现了异常
    // const result = response.data
    // if(result.code !== 200){
    //     Message({
    //         message: result.msg,
    //         type: "warning",
    //         duration: 3*1000,
    //     });
    // }
//     return response;
// },error=>{
//     //出现了错误  也可以获取状态码
//     console.log(error.response);
//     Message({
//         message: error.message,
//         type: "error",
//         duration: 3*1000,
//     });
//     return Promise.reject(error);
// })
export default request;